package org.ehe.business.bom.domain.dto;

import lombok.Data;

import java.math.BigDecimal;

/**
 * BOM结构项请求
 * @author :zhangnn
 * @className :BomStructureRequest
 * @description: TODO
 * @date 2025-07-30 14:29:39
 */
@Data
public class BomStructureRequest {
    /**
     * 父级物料ID（NULL表示顶级物料）
     */
    private Long parentItemId;

    /**
     * 物料ID（关联元部件管理）
     */
    private Long itemId;

    /**
     * 物料编码（唯一业务标识）
     */
    private String itemCode;

    /**
     * 物料名称
     */
    private String itemName;

    /**
     * 物料类型：1-原材料 2-半成品 3-成品 4-标准件 5-外购件
     */
    private Integer itemType;

    /**
     * 规格型号（物料技术规格描述）
     */
    private String specification;

    /**
     * 计量单位（如：个、kg、米等）
     */
    private String unit;

    /**
     * 用量/数量（单个父项消耗量）
     */
    private BigDecimal quantity;

    /**
     * 损耗率（百分比，如0.05表示5%损耗）
     */
    private BigDecimal scrapRate;

    /**
     * 是否关键件：0-否 1-是
     */
    private Integer isKeyItem;

    /**
     * 是否可选件：0-否 1-是
     */
    private Integer isOptional;

    /**
     * 替代组标识（相同组内物料可互相替代）
     */
    private String substituteGroup;

    /**
     * 首选供应商ID
     */
    private Long supplierId;

    /**
     * 首选供应商名称
     */
    private String supplierName;

    /**
     * 物料采购单价（单位成本）
     */
    private BigDecimal unitPrice;

    /**
     * 采购提前期（单位：天）
     */
    private Integer leadTime;

    /**
     * 备注信息
     */
    private String remark;
}
